package cn.com.duiba.millionaire.center.biz.service;

/**
 * Created by xiaoxuda on 2018/2/1.
 */

import cn.com.duiba.millionaire.center.api.dto.MillionaireWithdrawDto;

import java.util.List;

public interface MillionaireWithdrawService {
    long insert(MillionaireWithdrawDto entity);

    MillionaireWithdrawDto findById(long id);

    List<MillionaireWithdrawDto> batchFindByConsumerId(long consumerId);

    /**
     * 统计已申请的提现金额，不包含失败记录
     * @param consumerId
     * @return
     */
    Long countWithdrawAmount(Long consumerId);

    /**
     * 初始化到用户已扣款
     * @param id
     * @return
     */
    boolean update2UserPayed(long id);

    /**
     * 用户已扣款到开发者已扣款
     * @param id
     * @return
     */
    boolean update2DevPayed(long id);

    /**
     * 开发者已扣款到转账成功
     * @param id
     * @return
     */
    boolean update2Success(long id);

    /**
     * 非成功或者失败状态到失败状态
     * @param id
     * @return
     */
    boolean update2Fail(long id, String failMsg);
}
